home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / NEW / N-New Submissions / (n)n2.d64 / locksmith (.txt) < prev    next >
Commodore BASIC  |  2007-02-24  |  7KB  |  281 lines

  1. 1 REM***** LOCKSMITH BY RICK ANDING****
  2. 2 REM*******  ATLANTA, GEORGIA  ******
  3. 3 GOSUB 9000
  4. 4 GOSUB 3000
  5. 5 GOSUB 5000
  6. 10 POKE 53280,6:POKE 53281,6:POKE 646,3
  7. 20 PRINT"[147]":PRINT:PRINT
  8. 25 FOR X=1 TO 1000:NEXT
  9. 100 PRINT"              [206][183][183][183][183][183][183][205]      "
  10. 110 PRINT"             [206][160][206][183][183][183][183][205] [205]     "
  11. 120 PRINT"             [165][167]      [165][167]     "
  12. 130 PRINT"             [165][167]      [165][167]     "
  13. 140 PRINT"             [165][167]      [165][167]     "
  14. 150 PRINT"          [170][183][183][183][183][183][183][183][183][183][183][183][183][183][183][180]  "
  15. 160 PRINT"          [170]  A  B  C  D  [180]  "
  16. 170 PRINT"          [170][170][183][183][183][207][183][183][207][183][183][207][183][183][180][180]  "
  17. 180 PRINT"          [170][170] [158]2[159][146] [180][158]3[159][146] [180][158]4[159][146] [180][158]5[159][146] [180][180]  "
  18. 190 PRINT"          [170][170][175][175][175][204][175][175][204][175][175][204][175][175][180][180]  "
  19. 200 PRINT"          [170]              [180]  "
  20. 210 PRINT"          [170][175][175][175][175][175][175][175][175][175][175][175][175][175][175][180]  "
  21. 290 DATA "T","H","E"," ","L","O","C","K","S","M","I","T","H"
  22. 300 DATA4,8,2,1,9,5,2,4,8,0,1,3,7,5,2,9,3,6,0,1,6,4,2,8,0,9,5,3,1,8,0,1,3,3,5,6
  23. 305 DATA "*","*","*","*"
  24. 310 PRINT:PRINT:PRINT:PRINT:PRINT"TO RESET COMBINATION, PRESS SPACE BAR
  25. 315 [161] A$
  26. 320 [139] A$[178]"" [137] 315:[139] A$[179][177][199](32) [137] 315
  27. 325 [129] X[178]1 [164] 1000:[130]
  28. 330 [129] Z[178]1 [164] 10
  29. 340 [135] A$,B$,C$,D$
  30. 345 [153] [163]13)"ONONONONONONONONONSYS";A$
  31. 348 [153] [163]16)"ON";B$
  32. 350 [153] [163]19)"ON";C$
  33. 355 [153] [163]22)"ON";D$
  34. 360 [153]""
  35. 370 [129] X[178]1 [164] 150:[130] X
  36. 380 [130] Z
  37. 390 [153]"OPEN"
  38. 400 [129] X[178]1 [164] 1000:[130]:[153]"ONONON":[153]"                                     "
  39. 410 [153]"ONONONON        COMBINATION NOW SET!"
  40. 412 [129] X[178]1 [164] 1000:[130]:[153]"       NUMBER OF GUESSES:  12"
  41. 415 [129] X[178]1 [164] 1500:[130]:[153]
  42. 420 [133] "WHAT IS THE NUMBER FOR -A-";GA$
  43. 425 [133] "WHAT IS THE NUMBER FOR -B-";GB$
  44. 430 [133] "WHAT IS THE NUMBER FOR -C-";GC$
  45. 435 [133] "WHAT IS THE NUMBER FOR -D-";GD$
  46. 438 [129] X[178]1 [164] 1000:[130]
  47. 440 [153]"ONONONONONONONONONONONONONONONONONON"
  48. 441 [153] [163]30)"1 ) ";GA$;GB$;GC$;GD$
  49. 442 [129] X[178]1 [164] 1000:[130]:[141] 6000
  50. 443 [153]"                            "
  51. 444 [153]"                               "
  52. 445 [153]"                               "
  53. 446 [153]"                               "
  54. 447 [153]"                               "
  55. 448 [153]"                               "
  56. 451 [153]"                               "
  57. 455 [129] X[178]1 [164] 1400:[130]
  58. 460 [153]"ONONONONONONON                              "
  59. 465 [153]"NUMBERS IN THE RIGHT PLACE";L
  60. 466 G[178]12:[129] X[178]1 [164] 2000:[130]:[153]"           PRESS SPACE BAR     "
  61. 467 [161] A$
  62. 468 [139] A$[178]"" [137] 467
  63. 469 [139] A$[179][177][199](32)[137] 467
  64. 470 [129] E[178]1 [164] 11
  65. 471 G[178]G[171]1
  66. 475 [153]"                               "
  67. 476 [153]"ONONONONONON"                         "
  68. 477 PRINT"                             "
  69. 478 PRINT"                             "
  70. 479 PRINT"                             "
  71. 480 PRINT"                             "
  72. 490 FOR X=1 TO 1000:NEXT:PRINT"[145][145]NUMBER OF GUESSES LEFT:";G
  73. 495 FOR X=1 TO 1000:NEXT
  74. 500 PRINT:INPUT "WHAT IS THE NUMBER FOR -A-";GA$
  75. 510 INPUT "WHAT IS THE NUMBER FOR -B-";GB$
  76. 520 INPUT "WHAT IS THE NUMBER FOR -C-";GC$
  77. 530 INPUT "WHAT IS THE NUMBER FOR -D-";GD$
  78. 531 FOR X=1 TO 1000:NEXT:H=E+1
  79. 532 PRINT"[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
  80. 533 ON E GOSUB 800,810,820,830,840,850,860,865,870,875,880,885,890,895
  81. 534 PRINT TAB(29)H;") ";GA$;GB$;GC$;GD$
  82. 535 ON E GOSUB 900,910,920,930,940,950,960,970,980,990,1000,1010,1020,1030
  83. 536 FOR X=1 TO 1000:NEXT:GOSUB 6000
  84. 537 PRINT"                            "
  85. 538 PRINT"                               "
  86. 539 PRINT"                               "
  87. 540 PRINT"                               "
  88. 541 PRINT"                               "
  89. 542 PRINT"                               "
  90. 543 PRINT"                               ":FOR X=1 TO 1400:NEXT
  91. 544 PRINT"[145][145][145][145][145][145][145][145]                             "
  92. 545 PRINT"NUMBERS IN THE RIGHT PLACE";L
  93. 546 FOR X=1 TO 2000:NEXT:IF G=1 GOTO 2000
  94. 547 PRINT"           PRESS SPACE BAR     "
  95. 548 GET A$
  96. 549 IF A$="" GOTO 548
  97. 550 IF A$<>CHR$(32)GOTO 548
  98. 560 PRINT"[145]"
  99. 580 NEXT E
  100. 800 PRINT"":RETURN
  101. 810 PRINT"":RETURN
  102. 820 PRINT"":RETURN
  103. 830 PRINT"":RETURN
  104. 840 PRINT"":RETURN
  105. 850 PRINT"":RETURN
  106. 860 PRINT"":RETURN
  107. 865 PRINT"":RETURN
  108. 870 PRINT"":RETURN
  109. 875 PRINT"":RETURN
  110. 880 PRINT"":RETURN
  111. 885 PRINT"":RETURN
  112. 900 PRINT"[145]":RETURN
  113. 910 PRINT"[145][145]":RETURN
  114. 920 PRINT"[145][145][145]":RETURN
  115. 930 PRINT"[145][145][145][145]":RETURN
  116. 940 PRINT"[145][145][145][145][145]":RETURN
  117. 950 PRINT"[145][145][145][145][145][145]":RETURN
  118. 960 PRINT"[145][145][145][145][145][145][145]":RETURN
  119. 970 PRINT"[145][145][145][145][145][145][145][145]":RETURN
  120. 980 PRINT"[145][145][145][145][145][145][145][145][145]":RETURN
  121. 990 PRINT"[145][145][145][145][145][145][145][145][145][145]":RETURN
  122. 1000 PRINT"[145][145][145][145][145][145][145][145][145][145][145]":RETURN
  123. 1010 PRINT"[145][145][145][145][145][145][145][145][145][145][145][145]":RETURN
  124. 2000 FOR X=1 TO 2000:NEXT
  125. 2005 PRINT:PRINT"              YOU LOSE!"
  126. 2008 FOR X=1 TO 2000:NEXT
  127. 2012 PRINT:PRINT" THE COMBINATION WAS";N;O;P;Q
  128. 2015 PRINT:PRINT:INPUT"     WANT TO TRY AGAIN?  YES/NO";A$
  129. 2020 IF A$="N" OR A$="NO" GOTO 2100
  130. 2030 RESTORE
  131. 2040 FOR X=1 TO 13
  132. 2045 READ Q$
  133. 2048 NEXT X
  134. 2050 GOTO 5
  135. 2100 END
  136. 3000 PRINT"[147]":POKE 53280,6:POKE 53281,6:POKE 646,3
  137. 3010 FOR X=1 TO 1000:NEXT
  138. 3020 PRINT
  139. 3030 PRINT"            THE LOCKSMITH
  140. 3035 [153]
  141. 3040 [153] "THE LOCK CAN HAVE 750 DIFFERENT COMBI-
  142. 3045 PRINT"NATIONS.  YOUR JOB IS TO DISCOVER THE
  143. 3050 [153]"CORRECT ONE. YOU WILL *NOT* BE TOLD HOW
  144. 3060 PRINT"MANY NUMBERS YOU HAVE GUESSED CORRECTLY
  145. 3070 [153]"AFTER EACH GUESS, BUT ONLY HOW MANY OF
  146. 3080 PRINT"THE CORRECT GUESSES ARE IN THE RIGHT
  147. 3090 [153]"POSITION ON THE LOCK.
  148. 3095 PRINT
  149. 3100 PRINT"REMEMBER THAT THE LOCK CAN ONLY HAVE
  150. 3110 [153]"THE NUMBERS 1 THROUGH 5, BUT THEY CAN
  151. 3120 PRINT"BE IN ANY ORDER, AND ANY SINGLE NUMBER
  152. 3130 [153]"CAN REPEAT UP TO FOUR TIMES: (2222)
  153. 3140 PRINT"YOU HAVE 12 TRIES TO OPEN THE LOCK.
  154. 3150 [153]:[153]"                HINT
  155. 3160 PRINT"IF YOU ARE UNSUCCESSFUL AT SOLVING THE
  156. 3170 [153]"PUZZLE AFTER MANY TRYS, OR BECOME TOO
  157. 3180 PRINT"FRUSTRATED, STOP THE PROGRAM AND TYPE:
  158. 3190 [153]" LIST 8000-8100   FOR A HELPFUL HINT.
  159. 3195 PRINT:PRINT"  PRESS THE SPACEBAR TO CONTINUE
  160. 3200 [161] A$
  161. 3210 [139] A$[178]"" [137] 3200
  162. 3220 [139] A$[179][177][199](32) [137] 3200
  163. 3230 [142]
  164. 4000 [153]"":[153]
  165. 4015 [153]"              (null)USRUSRUSRUSRUSRUSR(null)     "
  166. 4020 [153]"             (null) (null)USRUSRUSRUSR(null)CLOSE(null)    "
  167. 4030 [153]"             SGN+      SGN+    "
  168. 4040 [153]"             FNTHEN      FNTHEN    "
  169. 4050 [153]"            CLOSE(null)SQR      FN+CLOSE   "
  170. 4060 [153]"                     SGN+    "
  171. 4070 [153]"          +USRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRSGN "
  172. 4080 [153]"          +  A  B  C  D  SGN "
  173. 4090 [153]"          ++USRUSRUSR(null)USRUSR(null)USRUSR(null)USRUSRSGNSGN "
  174. 4100 [153]"          ++SYS"N"OPENWAITSYS";O;"OPENWAITSYS";P;"OPENWAITSYS";Q;"OPENWAITSGNSGN "
  175. 4110 [153]"          ++ANDANDAND(null)ANDAND(null)ANDAND(null)ANDANDSGNSGN "
  176. 4120 [153]"          +              SGN "
  177. 4130 [153]"          +ANDANDANDANDANDANDANDANDANDANDANDANDANDANDSGN "
  178. 4140 [129] X[178]1 [164] 8
  179. 4150 [153]"                              "
  180. 4160 [130] X
  181. 4170 [153]"ONONONONONON              YOU WIN!
  182. 4500 GOTO 2015
  183. 5000 GOSUB 5100
  184. 5010 N=R
  185. 5020 GOSUB 5100
  186. 5030 O=R
  187. 5040 GOSUB 5100
  188. 5050 P=R
  189. 5060 GOSUB 5100
  190. 5070 Q=R
  191. 5100 R=INT(RND(0)*5)+1
  192. 5110 RETURN
  193. 5500 END
  194. 6000 GA=VAL(GA$):GB=VAL(GB$):GC=VAL(GC$):GD=VAL(GD$)
  195. 6005 A=0:B=0:C=0:D=0:J=0:L=0
  196. 6010 IF GA=N THEN A=1
  197. 6020 IF GB=O THEN B=1
  198. 6030 IF GC=P THEN C=1
  199. 6040 IF GD=Q THEN D=1
  200. 6050 L=A+B+C+D
  201. 6060 IF GA=N AND GB=O AND GC=P AND GD=Q THEN GOTO 4000
  202. 6190 RETURN
  203. 8000 REM  THE SIMPLEST WAY TO START
  204. 8010 REM  IS TO LIST BLOCKS OF NUMBERS
  205. 8020 REM  SUCH AS 1111, 2222, ETC. TO
  206. 8030 REM  FIND OUT (WITHIN 5 OF THE 12
  207. 8040 REM  TRYS) EXACTLY WHAT NUMBERS
  208. 8050 REM  ARE IN USE ON THE LOCK. AFTER
  209. 8060 REM  THAT, TRY TAKING ANY DOUBLE
  210. 8070 REM  NUMBERS IN USE, AND PUT THEM
  211. 8080 REM  WITH 2 NON-USE NUMBERS TO
  212. 8090 REM  FIND THEIR LOCATION. THE REST
  213. 8100 REM  IS UP TO YOU!
  214. 9000 POKE 53280,7:POKE 53281,7:POKE 646,6:PRINT"[147]"
  215. 9001 FOR X=1 TO 1000:NEXT
  216. 9003 REM*                 LINE RIGHT *
  217. 9005 FOR X=1 TO 39
  218. 9010 PRINT"[191]";
  219. 9015 FOR Y=1 TO 10:NEXT Y
  220. 9020 NEXT
  221. 9028 REM*                  LINE DOWN *
  222. 9030 FOR X=1 TO 22
  223. 9040 PRINT TAB(40)"[157][157][191]"
  224. 9050 FOR Y=1 TO 10:NEXT Y
  225. 9060 NEXT X
  226. 9068 REM*                  LINE LEFT *
  227. 9070 FOR X=1 TO 39
  228. 9080 PRINT"[157][157][191]";
  229. 9090 FOR Y=1 TO 10:NEXT Y
  230. 9095 NEXT X
  231. 9096 PRINT"[157][191][157]";
  232. 9098 REM*                    LINE UP *
  233. 9100 FOR X=1 TO 21
  234. 9110 PRINT "[145][191][145]"
  235. 9120 FOR Y=1 TO 10: NEXT Y
  236. 9130 NEXT X
  237. 9140 FOR D =1 TO 350:NEXT
  238. 9160 PRINT TAB(204)"[191]";
  239. 9170 FOR X=1 TO 28
  240. 9175 PRINT "[191]";
  241. 9180 FOR Y=1 TO 10:NEXT Y
  242. 9190 NEXT X
  243. 9195 PRINT"[191]"
  244. 9200 PRINT TAB(33)"[191]"
  245. 9210 PRINT TAB(33)"[191]"
  246. 9220 PRINT TAB(33)"[191]"
  247. 9230 PRINT TAB(33)"[191]";
  248. 9240 FOR X=1 TO 30
  249. 9250 PRINT"[157][191][157]";
  250. 9255 FOR Y=1 TO 10: NEXT Y
  251. 9260 NEXT X
  252. 9270 FOR X=1 TO 3
  253. 9280 PRINT "[145][191][157]";
  254. 9290 FOR Y=1 TO 10:NEXT
  255. 9300 NEXT X
  256. 9305 FOR X=1 TO 350:NEXT
  257. 9310 PRINT TAB(46)" ANDING'S NOODLE PRESENTS"
  258. 9315 FOR X=1 TO 1000:NEXT
  259. 9320 PRINT TAB(252)" "
  260. 9330 PRINT TAB(12)"*[157]";
  261. 9335 FOR J=1 TO 13
  262. 9340 FOR X=1 TO 12
  263. 9350 PRINT" *[157]";
  264. 9360 FOR Y=1 TO 2:NEXT Y
  265. 9370 NEXT X
  266. 9375 PRINT"[157]* [157]";
  267. 9380 FOR X=1 TO 11
  268. 9390 PRINT"[157][157]* [157]";
  269. 9400 FOR Y=1 TO 8:NEXT Y
  270. 9410 NEXT X
  271. 9415 READ A$
  272. 9416 PRINT"[157][145]";A$;:PRINT"";
  273. 9420 NEXT J
  274. 9425 FOR Y=1 TO 200:NEXT
  275. 9430 PRINT TAB(58)"*":FOR Y=1 TO 200:NEXT
  276. 9440 PRINT TAB(18)"*":FOR Y=1 TO 200:NEXT
  277. 9450 PRINT TAB(18)"*":FOR Y=1 TO 200:NEXT
  278. 9460 PRINT TAB(18)"*":FOR Y=1 TO 200:NEXT
  279. 9470 PRINT TAB(18)"*":FOR Y=1 TO 2000:NEXT
  280. 9480 RETURN
  281.